Mysqli VS. PDO
אני מעוניין להתחיל ללמוד יותר טוב Mysqli (עד היום עבדתי עם Mysql).
השאלה שלי, האם להמשיך ללמוד Mysqli או לעבור ל PDO?
מה ההבדל בניהם, מה יותר קל, מה יותר מהיר? (ראיתי את הכתבה, אני עדיין לא בטוח במה לבחור).
תודה וחג שמח!
8 תשובות
אם אתה מסתדר עם אנגלית, אתה יכול לקרוא את ההשוואה המלאה ביניהם ב-net.tutsplus.com.
בכל מקרה, הנה תרגום של סיכום המאמר:
בסופו של דבר, PDO מנצח את הקרב הזה בקלות. עם תמיכה לשנים-עשר דרייברים שונים של בסיסי נתונים (שמונה-עשרה סוגי בסיסי נתונים שונים!) ועם named parameters (תקרא במאמר), אנחנו יכולים להתעלם מהפסד הביצועים הקטן, ולהתרגל ל-API שלו. מהיבט של אבטחה, שניהם בטוחים כל עוד המפתח משתמש בהם בדרך שאמורים להשתמש בהם (קרא את הקטע על prepared statements).
חשוב לי שהוא יהיה מהיר ומאובטח, לא איכפת לי כל הדרייברים שהוא תומך בהם, אז לבחור ב Mysqli?
אמור להיות אכפת לך. אם לא עכשיו, אז מתישהו אתה תצטרך בסיס נתונים אחר, ולא MySQL.
אבל כן, אם אתה יודע בוודאות שאתה לא צריך שום דבר חוץ מMySQL, לא עכשיו, ולא בעתיד(שזה לא הגיוני), אז תבחר ב mysqli
אני לא מבין גדול בסוגי בסיסי נתונים, אבל אני כן יודע שיש סיכוי גבוה שהדרישות של המערכת ישתנו, ובהחלט ייתכן שתעבור לבסיס נתונים אחר.
אני דווקא בעד mysqlI מהסיבה שאני מכיר מעט מאוד אנשים שהיו צריכים mysql בהתחלה ומשהו אחר אחרי זה.
אנשים מתחילים ב mysql ומסיימים בו.
השלב שבו אתה תצטרך מסד אחר שנתמך על ידי PDO כנאה יגיע רק בעוד כמה שנים אם בכלל,
ובשלב הזה אתה תעבוד עם פריימוורק כלשהו וORM, תשכח יותר SQL ממה שעדיין למדת
וכנראה שתהיה מסוגל לעבוד עם pdo ו mysql באותה מידה.
שני הספריות בעלות אותו קונצפת בדיוק,
מחלקה של חיבור ויצירת שאילתה, מחלקה שמייצגת שאילת ואפשר לקבל ממנה תוצאה.
הדבר השונה היחידי זה השמות של הפונקציות.
+ באיזשהו שלב אתה תבין שזה לא "או זה או זה" אלה "גם זה וגם זה"
בגלל שאנשים לא יודעים בעל פה לא את זה ולא את זה. הם פותחים דוקומנטציה ומסתכלים בפונקציות של הכלי שהם צריכים באותו רגע.
ואם מדובר ב mysql, לדעתי mysqlI הוא הכלי הכי טוב בשביל זה.